import { config as coreConfig } from '@inertiajs/core'
import { VueInertiaAppConfig } from './types'

export { progress, router } from '@inertiajs/core'
export { default as App, usePage } from './app'
export { default as createInertiaApp } from './createInertiaApp'
export { default as Deferred } from './deferred'
export { default as Form } from './form'
export { default as Head } from './head'
export { default as InfiniteScroll } from './infiniteScroll'
export { InertiaLinkProps, default as Link } from './link'
export * from './types'
export { InertiaForm, InertiaFormProps, default as useForm } from './useForm'
export { default as usePoll } from './usePoll'
export { default as usePrefetch } from './usePrefetch'
export { default as useRemember } from './useRemember'
export { default as WhenVisible } from './whenVisible'

export const config = coreConfig.extend<VueInertiaAppConfig>({})
